1. Field of the Invention
The present invention relates to data processing in a computer system, and more specifically to methods and apparatus for bus bandwidth management for a high-speed bus.
2. Art Background
In general, computer systems contain a central processing unit (CPU), memory, peripheral components, and an input/output interface to couple the peripheral components or subsystems to the CPU. Typically, computer buses are used for transferring data among the computer subsystems. In multi-tasking computer systems, a number of application programs, or client applications, are resident simultaneously. Because computers systems contain a limited amount of resources, client applications compete for use of the computer resources. For example, clients compete for use of the CPU cycles. Likewise, clients also share use of the computer buses. Typically, in order to allocate use of the computer buses, computer systems employ bus arbitration systems to allocate use of the bus to the various client applications. The bus arbitration systems are implemented in hardware, and therefore exhibit rigid policy considerations for allocation of bus resources.
One policy for allocating bus resources to a number of client applications in bus arbitration systems is known as "first come, first serve" (FCFS). The FCFS policy is based on fairness, such that the first client to request use of the bus receives total use of the bus until relinquished by the requesting client. Another policy employed in bus arbitration systems is a round robin policy. The round robin policy, also based on fairness, selects a single client for bus allocation in a sequential order. If a selected client application does not require bus services, then the bus arbitration hardware selects the next client in the sequential order. Although such fairness-based policies may provide adequate performance in certain client applications, the fairness policies are insufficient for others. Specifically, the fairness policies fail to provide a high degree of performance when there are timeliness requirements associated with the client requests for bus services.
In recognition that not all clients should receive equal allocation of bus resources, some bus arbitration systems employ static priority policies. In a static priority bus allocation policy, each client application competing for use of the bus has a priority attribute associated with its request for bus services. Typically, the priority attribute consists of a number representing the priority of the request. With use of the static priority policy, when a number of requests are made for bus resources, the bus arbitration system selects the client with the highest priority. Although the static priority provides improved performance over the fairness-based policies for some applications, the static priority policy also fails to account for timeliness characteristics associated with the client requests.
With an increasing number of multi-media applications for computer systems, a number of applications require integration of digital audio and video into the computer system environment. Digital audio and video data are characterized as time-critical media. In general, time-critical media comprises data streams that are consumed by the human sensory system, and therefore the value in delivering the data stream depends on timing of the presentation, as well as on the accuracy of the data streams. If time-critical media are not presented with the proper timing, the data can lose most, or all, of its informational content for the human consumer. For example, significant variations in the rate of presentation of digital audio can make speech unintelligible, or a variation in rate of delivery of video frames from a scientific visualization application can distort the motion content of the visual information. The digital audio and video applications present continuous demands for large amounts of processing and data transfer resources. Therefore, a high-speed bus is required that can support the timeliness requirements associated with time-critical media applications.